package org.example.library.mapper;

import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import org.example.library.entity.BookInfo;
import org.example.library.entity.PageRequest;

import java.util.List;

@Mapper
public interface BookMapper {
    @Select("select * from book_info where status <> 0 limit #{offset},#{pageSize}")
    List<BookInfo> selectList(PageRequest pageRequest);
    @Select("select count(1) from book_info where `status` <> 0")
    Integer count();
    @Insert("insert into book_info (book_name, author, count, price, publish, status) value (#{bookName},#{author},#{count},#{price},#{publish},#{status})")
    Integer insertBook(BookInfo bookInfo);

    Integer updateBookById(BookInfo bookInfo);
    @Select("select * from book_info where id = #{bookId} and `status` <> 0")
    BookInfo selectById(Integer bookId);

    Integer batchDeleteBook(List<Integer> ids);
}
